是攻擊者用來識別網絡中運行已知漏洞的應用程序和作業系統版本的方法。橫幅抓取分為兩種類型:主動和被動。
.aspx
表示 IIS 服務器和 Windows 平台在識別目標系統作業系統的過程中,攻擊者可以通過分析 TCP 會話中第一個數據包的 IP 標頭中的 Time To Live (TTL) 和 TCP 窗口大小 來確定目標機器所運行的作業系統。使用像 Wireshark 這樣的數據包嗅探工具捕捉來自目標機器的響應,並觀察 TTL 和 TCP 窗口大小字段,可以幫助攻擊者判斷系統所使用的作業系統類型。不同作業系統的 TTL 和 TCP 窗口大小值有所不同,表格中列出了各作業系統的標準值,例如 Linux、Windows、Cisco 路由器等。
這些數據可以幫助攻擊者更深入了解目標系統,從而制定適當的攻擊策略。
以下是不同作業系統的 Time To Live (TTL) 和 TCP 窗口大小 的對應值:
Operating System | Time To Live (TTL) | TCP Window Size |
---|---|---|
Linux | 64 | 5840 |
FreeBSD | 64 | 65535 |
OpenBSD | 255 | 16384 |
Windows | 128 | 65,535 bytes to 1 GB |
Cisco Routers | 255 | 4128 |
Solaris | 255 | 8760 |
AIX | 255 | 16384 |
使用 Wireshark 進行作業系統發現
為了識別目標作業系統,攻擊者可以使用像 Wireshark 這類的封包嗅探工具,攔截並捕捉目標機器對發起請求的機器所產生的回應。觀察攔截到的第一個 TCP 封包中的 TTL(存活時間)與 TCP 視窗大小欄位。透過將這些數值與參考表中的已知作業系統數值進行比較,可以確定產生回應的目標作業系統。這種方法提供了一種非侵入式的方式來對目標機器進行指紋識別。
使用 Nmap 和 Unicornscan 進行作業系統發現
Nmap:
它使用 TCP/IP 堆疊指紋來分析目標系統的反應,通過對回應封包中的 TTL、窗口大小、標誌等進行比較來推斷目標系統的作業系統版本。
Nmap 使用指令:這個指令會啟用 Nmap 的作業系統偵測功能,並嘗試通過分析網路封包的回應來識別目標系統。
nmap -O <target IP>
Unicornscan:
Unicornscan 是一款專門為進行大型網路掃描和資料收集而設計的工具。與 Nmap 類似,它也可以用來進行作業系統的發現。Unicornscan 的一大特色是它能夠非常快速地進行大範圍的掃描,並且針對不同協議(如 TCP、UDP 等)提供強大的偵測功能。
Unicornscan 使用指令:這個指令會使用 TCP 封包來掃描目標 IP,並根據目標的回應來推斷作業系統類型。
unicornscan -mT -v <target IP>
使用 Nmap 腳本引擎進行作業系統發現
Nmap 的腳本引擎(Nmap Scripting Engine, NSE)允許用戶自動化各種網路任務,並透過編寫和共享腳本來完成特定操作。NSE 可以與 Nmap 的掃描並行運行,保持相同的效率和速度。攻擊者可以使用 NSE 中的各種腳本來對目標機器進行作業系統偵測。
在 Nmap 中使用 smb-os-discovery
腳本來發現作業系統資訊的範例:
nmap --script smb-os-discovery.nse 10.10.1.22
這個指令使用了 Nmap 的內建腳本 smb-os-discovery.nse
來對目標 IP 地址(例如 10.10.1.22
)進行掃描,並通過 SMB 協定收集作業系統的相關資訊
IPv6 指紋辨識(IPv6 Fingerprinting)是另一種用來識別目標機器上運行的作業系統的技術。其功能與 IPv4 指紋辨識相似,例如發送探測訊號、等待並收集回應,然後將結果與指紋資料庫進行比對。IPv6 與 IPv4 指紋辨識的區別在於,IPv6 使用了多個額外的特定於 IPv6 的探測訊號,以及一個獨立的 IPv6 作業系統檢測引擎。
在 nmap 中,可以使用 -6
選項與 -O
選項結合進行 IPv6 指紋辨識作業系統的發現。
指令語法:
nmap -6 -O <target>
入侵檢測系統(IDS)和防火牆是防止攻擊者存取網路的安全機制,但即使是 IDS 和防火牆也有一些安全限制。攻擊者會嘗試利用這些限制來發動攻擊。本節介紹了各種 IDS/防火牆的規避技術,例如封包碎片化、源路由、IP 地址偽裝等。
雖然防火牆和入侵檢測系統(IDS)可以防止惡意流量(封包)進入網路,但攻擊者可以使用以下技術發送預定的封包來繞過 IDS/防火牆並傳送到目標:
nmap -sS -T4 -A -f -v [target]
nmap -g 80 [target]
nmap -D RND:10 [target]
nmap -D decoy1,decoy2,decoy3,...,ME,... [target]
Hping3 www.certifiedhacker.com -a 7.7.7.7You
MAC 地址偽裝(MAC Address Spoofing):通過偽造網路介面卡的 MAC 地址,使攻擊流量繞過基於 MAC 地址的過濾或安全措施。
nmap -sT -Pn --spoof-mac 0 [Target IP]
nmap -sT -Pn --spoof-mac [Vendor] [Target IP]
nmap -sT -Pn --spoof-mac [new MAC] [Target IP]
創建自定義封包(Creating Custom Packets):攻擊者通過構建自定義的封包來操控封包的內容和格式,進一步逃避安全系統的檢測。
使用封包建構工具來建立自定義封包進行掃描是一種攻擊者繞過防火牆的常用方法。攻擊者會使用各種封包建構工具,例如 Colasoft Packet Builder(https://www.colasoft.com)和 NetScanTools Pro(https://www.netscantools.com),來對超出防火牆的目標進行掃描。這些工具能夠使用不同的協議在不同的傳輸速率下生成並發送自定義封包流。
Colasoft Packet Builder:
來源:https://www.colasoft.com
Colasoft Packet Builder 是一個允許攻擊者創建自定義網路封包的工具,並且幫助安全專業人員評估網路狀態。攻擊者可以從提供的範本中選擇 TCP 封包,並在解碼器、十六進制或 ASCII 編輯器中更改參數以創建封包。除了生成封包外,Colasoft Packet Builder 還支持將封包保存為封包文件,並將封包發送至網路。
這些工具有助於進行深入的網路檢測和漏洞利用測試,特別是當攻擊者試圖繞過傳統的防禦機制時。
隨機化主機順序(Randomizing Host Order):攻擊者隨機排列掃描的目標主機順序,使得防火牆或 IDS 難以發現攻擊模式。
nmap --randomize-hosts [Target IP]
發送錯誤的校驗和(Sending Bad Checksums):攻擊者發送包含錯誤校驗和的封包,使安全設備無法正確處理這些封包,從而繞過檢測。
nmap --badsum [Target IP]
代理伺服器(Proxy Servers):攻擊者通過代理伺服器發送攻擊流量,以隱藏真實的 IP 地址和身份。
工具: Proxy Switcher 、Cyber Ghost VPN、Shadowsocks
匿名化工具(Anonymizers):使用匿名化工具,讓攻擊流量經過多層中介伺服器或匿名網路,如 TOR,以掩蓋攻擊者的身份和來源。
使用匿名器的原因:
網路檢測和回應工具
ExtraHop、Splunk